package cc.messcat.util;

import cc.messcat.entity.vo.*;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

/**
 * 获取数据
 * 
 * @author Administrator
 *
 */
public class GainDataUtil {

	private static List<Object> dataList;

	/**
	 * 贫困户健康人数统计数据
	 * 
	 * @param list
	 * @return
	 */
	public static List<Object> HealthyStatisData(List<Object[]> list) {
		dataList = new ArrayList<Object>();
		// 数据处理
		if (list != null && list.size() > 0) {
			for (Iterator<Object[]> iterator = list.iterator(); iterator.hasNext();) {
				Object[] obj = iterator.next();
				Integer popuCount = Integer.valueOf(obj[1].toString());// 贫困人口总数
				Integer htCount = Integer.valueOf(obj[2].toString());// 健康人数
				Integer cqbCount = Integer.valueOf(obj[3].toString());// 长期慢性病数
				Integer dbCount = Integer.valueOf(obj[4].toString());// 患有大病数
				Integer jbCount = Integer.valueOf(obj[5].toString());// 疾病数
				// 健康统计VO
				PopuHealthyStatisVo phsVo = new PopuHealthyStatisVo();
				phsVo.setAreaName(obj[0].toString());// 地区名字
				phsVo.setPopuCount(popuCount + "");// 贫困人口总数
				phsVo.setHtCount(htCount + "");// 健康人数
				phsVo.setHtCountP(
						(popuCount == 0 || htCount == 0) ? "0%"
								: BigDecimal.valueOf(htCount)
										.divide(BigDecimal.valueOf(popuCount), 4, BigDecimal.ROUND_HALF_UP)
										.multiply(BigDecimal.valueOf(100)).doubleValue() + "%");// 健康人数占比
				phsVo.setCqbCount(cqbCount + "");// 长期慢性病
				phsVo.setCqbCountP((popuCount == 0 || cqbCount == 0) ? "0%"
						: BigDecimal.valueOf(cqbCount)
								.divide(BigDecimal.valueOf(popuCount), 4, BigDecimal.ROUND_HALF_UP)
								.multiply(BigDecimal.valueOf(100)).doubleValue() + "%");// 长期慢性病占比
				phsVo.setDbCount(dbCount + "");// 患有大病
				phsVo.setDbCountP(
						(popuCount == 0 || dbCount == 0) ? "0%"
								: BigDecimal.valueOf(dbCount)
										.divide(BigDecimal.valueOf(popuCount), 4, BigDecimal.ROUND_HALF_UP)
										.multiply(BigDecimal.valueOf(100)).doubleValue() + "%");// 患有大病占比
				phsVo.setJbCount(jbCount + "");// 疾病
				phsVo.setJbCountP(
						(popuCount == 0 || jbCount == 0) ? "0%"
								: BigDecimal.valueOf(jbCount)
										.divide(BigDecimal.valueOf(popuCount), 4, BigDecimal.ROUND_HALF_UP)
										.multiply(BigDecimal.valueOf(100)).doubleValue() + "%");// 疾病占比
				dataList.add(phsVo);
			}
		}
		return dataList;
	}

	/**
	 * 贫困户文化程度人数统计数据
	 * 
	 * @param list
	 * @return
	 */
	public static List<Object> CultureStatisData(List<Object[]> list) {
		dataList = new ArrayList<Object>();

		// 数据处理
		if (list != null && list.size() > 0) {
			for (Iterator<Object[]> iterator = list.iterator(); iterator.hasNext();) {
				Object[] obj = iterator.next();
				Integer popuCount = Integer.valueOf(obj[1].toString());// 贫困人口总数
				Integer wmCount = Integer.valueOf(obj[2].toString());// 文盲半文盲人数
				Integer xxueCount = Integer.valueOf(obj[3].toString());// 小学人数
				Integer czCount = Integer.valueOf(obj[4].toString());// 初中人数
				Integer gzCount = Integer.valueOf(obj[5].toString());// 高中人数
				Integer dzCount = Integer.valueOf(obj[6].toString());// 大专人数
				Integer xlqCount = Integer.valueOf(obj[7].toString());// 学龄前人数

				// 文化程度统计VO
				PopuCultureStatisVo pclVo = new PopuCultureStatisVo();
				pclVo.setAreaName(obj[0].toString());// 地区名字
				pclVo.setPopuCount(popuCount + "");// 贫困人口总数
				pclVo.setWmCount(wmCount + "");// 文盲半文盲人数
				pclVo.setWmCountP(
						(popuCount == 0 || wmCount == 0) ? "0%"
								: BigDecimal.valueOf(wmCount)
										.divide(BigDecimal.valueOf(popuCount), 4, BigDecimal.ROUND_HALF_UP)
										.multiply(BigDecimal.valueOf(100)).doubleValue() + "%");// 文盲占比
				pclVo.setXxueCount(xxueCount + "");// 小学人数
				pclVo.setXxueCountP((popuCount == 0 || xxueCount == 0) ? "0%"
						: BigDecimal.valueOf(xxueCount)
								.divide(BigDecimal.valueOf(popuCount), 4, BigDecimal.ROUND_HALF_UP)
								.multiply(BigDecimal.valueOf(100)).doubleValue() + "%");// 小学占比
				pclVo.setCzCount(czCount + "");// 初中人数
				pclVo.setCzCountP(
						(popuCount == 0 || czCount == 0) ? "0%"
								: BigDecimal.valueOf(czCount)
										.divide(BigDecimal.valueOf(popuCount), 4, BigDecimal.ROUND_HALF_UP)
										.multiply(BigDecimal.valueOf(100)).doubleValue() + "%");// 初中占比
				pclVo.setGzCount(gzCount + "");// 高中人数
				pclVo.setGzCountP(
						(popuCount == 0 || gzCount == 0) ? "0%"
								: BigDecimal.valueOf(gzCount)
										.divide(BigDecimal.valueOf(popuCount), 4, BigDecimal.ROUND_HALF_UP)
										.multiply(BigDecimal.valueOf(100)).doubleValue() + "%");// 高中占比

				pclVo.setDzCount(dzCount + "");// 大专人数
				pclVo.setDzCountP(
						(popuCount == 0 || dzCount == 0) ? "0%"
								: BigDecimal.valueOf(dzCount)
										.divide(BigDecimal.valueOf(popuCount), 4, BigDecimal.ROUND_HALF_UP)
										.multiply(BigDecimal.valueOf(100)).doubleValue() + "%");// 大专占比

				pclVo.setXlqCount(xlqCount + "");// 学龄前人数
				pclVo.setXlqCountP((popuCount == 0 || xlqCount == 0) ? "0%"
						: BigDecimal.valueOf(xlqCount)
								.divide(BigDecimal.valueOf(popuCount), 4, BigDecimal.ROUND_HALF_UP)
								.multiply(BigDecimal.valueOf(100)).doubleValue() + "%");// 学龄前占比

				dataList.add(pclVo);
			}
		}
		return dataList;
	}

	/**
	 * 贫困户生产生活条件困难统计数据
	 * 
	 * @param list
	 * @return
	 */
	public static List<Object> DuctionLifeStatisData(List<Object[]> list) {
		dataList = new ArrayList<Object>();
		// 数据处理
		if (list != null && list.size() > 0) {
			for (Iterator<Object[]> iterator = list.iterator(); iterator.hasNext();) {
				Object[] obj = iterator.next();
				Integer poorFCount = Integer.valueOf(obj[1].toString());// 贫困户总数
				Integer ysknCount = Integer.valueOf(obj[2].toString());// 饮水困难户数数
				Integer waqysCount = Integer.valueOf(obj[3].toString());// 无安全饮水户数
				Integer wtshydCount = Integer.valueOf(obj[4].toString());// 未通生活用电户数
				Integer wtggdsCount = Integer.valueOf(obj[5].toString());// 未通广播电视户数(待定)
				Integer zfwxCount = Integer.valueOf(obj[6].toString());// 住房是危房户数户数
				Integer wwscsCount = Integer.valueOf(obj[7].toString());// 无卫生厕所户数户数

				Double zfmjSum = Double.valueOf(obj[8].toString());// 人均住房面积
				Integer popuCount = Integer.valueOf(obj[9].toString());//
				// 贫困人口数
				// 人均住房面 户数/改户人口数 
				String zfmjCount = (popuCount == 0 || zfmjSum == 0) ? "0"
						: BigDecimal.valueOf(zfmjSum)
								.divide(BigDecimal.valueOf(popuCount), 2, BigDecimal.ROUND_HALF_UP)
								.doubleValue() + "";
								

				// 生产生活条件统计VO
				DuctionLifeStatisVo dtlVo = new DuctionLifeStatisVo();
				dtlVo.setAreaName(obj[0].toString());// 地区名字

				dtlVo.setPoorFCount(poorFCount + "");// 贫困户总数
				dtlVo.setYsknCount(ysknCount + "");// 饮水困难户数数
				dtlVo.setYsknCountP((poorFCount == 0 || ysknCount == 0) ? "0%"
						: BigDecimal.valueOf(ysknCount)
								.divide(BigDecimal.valueOf(poorFCount), 4, BigDecimal.ROUND_HALF_UP)
								.multiply(BigDecimal.valueOf(100)).doubleValue() + "%");

				dtlVo.setWaqysCount(waqysCount + "");// 无安全饮水户数
				dtlVo.setWaqysCountP((poorFCount == 0 || waqysCount == 0) ? "0%"
						: BigDecimal.valueOf(waqysCount)
								.divide(BigDecimal.valueOf(poorFCount), 4, BigDecimal.ROUND_HALF_UP)
								.multiply(BigDecimal.valueOf(100)).doubleValue() + "%");

				dtlVo.setWtshydCount(wtshydCount + "");// 未通生活用电户数
				dtlVo.setWtshydCountP((poorFCount == 0 || wtshydCount == 0) ? "0%"
						: BigDecimal.valueOf(wtshydCount)
								.divide(BigDecimal.valueOf(poorFCount), 4, BigDecimal.ROUND_HALF_UP)
								.multiply(BigDecimal.valueOf(100)).doubleValue() + "%");

				dtlVo.setWtggdsCount(wtggdsCount + "");// 未通广播电视户数(待定)
				dtlVo.setWtggdsCountP((poorFCount == 0 || wtggdsCount == 0) ? "0%"
						: BigDecimal.valueOf(wtggdsCount)
								.divide(BigDecimal.valueOf(poorFCount), 4, BigDecimal.ROUND_HALF_UP)
								.multiply(BigDecimal.valueOf(100)).doubleValue() + "%");

				dtlVo.setZfwxCount(zfwxCount + "");// 住房是危房户数户数
				dtlVo.setZfwxCountP((poorFCount == 0 || zfwxCount == 0) ? "0%"
						: BigDecimal.valueOf(zfwxCount)
								.divide(BigDecimal.valueOf(poorFCount), 4, BigDecimal.ROUND_HALF_UP)
								.multiply(BigDecimal.valueOf(100)).doubleValue() + "%");

				dtlVo.setWwscsCount(wwscsCount + "");// 住房是危房户数户数
				dtlVo.setWwscsCountP((poorFCount == 0 || wwscsCount == 0) ? "0%"
						: BigDecimal.valueOf(wwscsCount)
								.divide(BigDecimal.valueOf(poorFCount), 4, BigDecimal.ROUND_HALF_UP)
								.multiply(BigDecimal.valueOf(100)).doubleValue() + "%");

				// 人均住房面积总数
				dtlVo.setZfmjCount(zfmjCount);

				dataList.add(dtlVo);
			}
		}
		return dataList;
	}

	/**
	 * 贫困户土地资源统计数据
	 * 
	 * @param list
	 * @return
	 */
	public static List<Object> LandResourceStatisData(List<Object[]> list) {
		dataList = new ArrayList<Object>();
		// 数据处理
		if (list != null && list.size() > 0) {
			for (Iterator<Object[]> iterator = list.iterator(); iterator.hasNext();) {
				Object[] obj = iterator.next();
				Integer poorFCount = Integer.valueOf(obj[1].toString());// 贫困户总数
				Integer popuCount = Integer.valueOf(obj[2].toString());// 贫困人口

				Double gdmjCount = Double.valueOf(obj[3].toString());// 耕地面积.亩
				Double yxggCount = Double.valueOf(obj[4].toString());// 有效灌溉面积.亩
				Double ldCount = Double.valueOf(obj[5].toString());// 林地面积.亩
				Double tghlCount = Double.valueOf(obj[6].toString());// 退耕还林面积.亩
				Double lgCount = Double.valueOf(obj[7].toString());// 林果面积.亩
				Double mcCount = Double.valueOf(obj[8].toString());// 牧草地面积.亩
				Double syCount = Double.valueOf(obj[9].toString());// 水域面积.亩

				// 土地资源统计VO 人均/人口
				LandResourceStatisVo arVo = new LandResourceStatisVo();
				arVo.setAreaName(obj[0].toString());// 地区名字

				arVo.setPoorFCount(poorFCount + "");// 贫困户总数
				arVo.setPopuCount(popuCount + "");// 贫困人口

				arVo.setGdmjCount(gdmjCount == 0 ? "0" : gdmjCount + "");// 耕地面积.亩
				arVo.setGdmjCountP((popuCount == 0 || gdmjCount == 0) ? "0%"
						: BigDecimal.valueOf(gdmjCount)
								.divide(BigDecimal.valueOf(popuCount), 4, BigDecimal.ROUND_HALF_UP)
								.multiply(BigDecimal.valueOf(100)).doubleValue() + "%");

				arVo.setYxggCount(yxggCount == 0 ? "0" : yxggCount + "");// 有效灌溉面积.亩
				arVo.setYxggCountP((popuCount == 0 || yxggCount == 0) ? "0%"
						: BigDecimal.valueOf(yxggCount)
								.divide(BigDecimal.valueOf(popuCount), 4, BigDecimal.ROUND_HALF_UP)
								.multiply(BigDecimal.valueOf(100)).doubleValue() + "%");

				arVo.setLdCount(ldCount == 0 ? "0" : ldCount + "");// 林地面积.亩
				arVo.setLdCountP(
						(popuCount == 0 || ldCount == 0) ? "0%"
								: BigDecimal.valueOf(ldCount)
										.divide(BigDecimal.valueOf(popuCount), 4, BigDecimal.ROUND_HALF_UP)
										.multiply(BigDecimal.valueOf(100)).doubleValue() + "%");

				arVo.setTghlCount(tghlCount == 0 ? "0" : tghlCount + "");// 退耕还林面积.亩
				arVo.setTghlCountP((popuCount == 0 || tghlCount == 0) ? "0%"
						: BigDecimal.valueOf(tghlCount)
								.divide(BigDecimal.valueOf(popuCount), 4, BigDecimal.ROUND_HALF_UP)
								.multiply(BigDecimal.valueOf(100)).doubleValue() + "%");

				arVo.setLgCount(lgCount == 0 ? "0" : lgCount + "");// 林果面积.亩
				arVo.setLgCountP(
						(popuCount == 0 || lgCount == 0) ? "0%"
								: BigDecimal.valueOf(lgCount)
										.divide(BigDecimal.valueOf(popuCount), 4, BigDecimal.ROUND_HALF_UP)
										.multiply(BigDecimal.valueOf(100)).doubleValue() + "%");

				arVo.setMcCount(mcCount == 0 ? "0" : mcCount + "");// 牧草地面积.亩
				arVo.setMcCountP(
						(popuCount == 0 || mcCount == 0) ? "0%"
								: BigDecimal.valueOf(mcCount)
										.divide(BigDecimal.valueOf(popuCount), 4, BigDecimal.ROUND_HALF_UP)
										.multiply(BigDecimal.valueOf(100)).doubleValue() + "%");

				arVo.setSyCount(syCount == 0 ? "0" : syCount + "");// 水域面积.亩
				arVo.setSyCountP(
						(popuCount == 0 || syCount == 0) ? "0%"
								: BigDecimal.valueOf(syCount)
										.divide(BigDecimal.valueOf(popuCount), 4, BigDecimal.ROUND_HALF_UP)
										.multiply(BigDecimal.valueOf(100)).doubleValue() + "%");

				dataList.add(arVo);
			}
		}
		return dataList;
	}

	/**
	 * 贫困户人均收入分组情况统计数据
	 * 
	 * @param list
	 * @return
	 */
	public static List<Object> CapitaIncomeStatisData(List<Object[]> list) {
		dataList = new ArrayList<Object>();
		// 数据处理
		if (list != null && list.size() > 0) {
			for (Iterator<Object[]> iterator = list.iterator(); iterator.hasNext();) {
				Object[] obj = iterator.next();
				Integer poorFCount = Integer.valueOf(obj[1].toString());// 贫困户总数
				Double incomeCount = Double.valueOf(obj[2].toString());// 户（纯）收入（元）

				Integer wbyCount = Integer.valueOf(obj[3].toString());// 500元（不含）.户数
				Integer yqyCount = Integer.valueOf(obj[4].toString());// 500-1000元.户数
				Integer yqwCount = Integer.valueOf(obj[5].toString());// 1000-1500元.户数
				Integer lqyCount = Integer.valueOf(obj[6].toString());// 1500-2000元.户数
				Integer ljwlCount = Integer.valueOf(obj[7].toString());// 2000-2952元.户数
				Integer sqyCount = Integer.valueOf(obj[8].toString());// 2952-3100元.户数
				Integer qtCount = Integer.valueOf(obj[9].toString());// 3100元以上.户数

				// 人均收入统计VO
				CapitaIncomeStatisVo ciVo = new CapitaIncomeStatisVo();
				ciVo.setAreaName(obj[0].toString());// 地区名字

				ciVo.setPoorFCount(poorFCount + "");// 贫困户总数
				// 户（均）收入 = 纯收入的和除以所有贫困户数
				ciVo.setIncomeCount((poorFCount == 0 || incomeCount == 0) ? "0"
						: // 户（均）收入（元）
						BigDecimal.valueOf(incomeCount)
								.divide(BigDecimal.valueOf(poorFCount), 2, BigDecimal.ROUND_HALF_UP)
								.doubleValue() + "" + "");// 贫户均纯收入（元）

				ciVo.setWbyCount(wbyCount + "");// 500元（不含）.户数
				ciVo.setWbyCountP((poorFCount == 0 || wbyCount == 0) ? "0%"
						: BigDecimal.valueOf(wbyCount)
								.divide(BigDecimal.valueOf(poorFCount), 4, BigDecimal.ROUND_HALF_UP)
								.multiply(BigDecimal.valueOf(100)).doubleValue() + "%");

				ciVo.setYqyCount(yqyCount + "");// 500-1000元.户数
				ciVo.setYqyCountP((poorFCount == 0 || yqyCount == 0) ? "0%"
						: BigDecimal.valueOf(yqyCount)
								.divide(BigDecimal.valueOf(poorFCount), 4, BigDecimal.ROUND_HALF_UP)
								.multiply(BigDecimal.valueOf(100)).doubleValue() + "%");

				ciVo.setYqwCount(yqwCount + "");// 1000-1500元.户数
				ciVo.setYqwCountP((poorFCount == 0 || yqwCount == 0) ? "0%"
						: BigDecimal.valueOf(yqwCount)
								.divide(BigDecimal.valueOf(poorFCount), 4, BigDecimal.ROUND_HALF_UP)
								.multiply(BigDecimal.valueOf(100)).doubleValue() + "%");

				ciVo.setLqyCount(lqyCount + "");// 1500-2000元.户数
				ciVo.setLqyCountP((poorFCount == 0 || lqyCount == 0) ? "0%"
						: BigDecimal.valueOf(lqyCount)
								.divide(BigDecimal.valueOf(poorFCount), 4, BigDecimal.ROUND_HALF_UP)
								.multiply(BigDecimal.valueOf(100)).doubleValue() + "%");

				ciVo.setLjwlCount(ljwlCount + "");// 2000-2952元.户数
				ciVo.setLjwlCountP((poorFCount == 0 || ljwlCount == 0) ? "0%"
						: BigDecimal.valueOf(ljwlCount)
								.divide(BigDecimal.valueOf(poorFCount), 4, BigDecimal.ROUND_HALF_UP)
								.multiply(BigDecimal.valueOf(100)).doubleValue() + "%");

				ciVo.setSqyCount(sqyCount + "");// 2952-3100元.户数
				ciVo.setSqyCountP((poorFCount == 0 || sqyCount == 0) ? "0%"
						: BigDecimal.valueOf(sqyCount)
								.divide(BigDecimal.valueOf(poorFCount), 4, BigDecimal.ROUND_HALF_UP)
								.multiply(BigDecimal.valueOf(100)).doubleValue() + "%");

				ciVo.setQtCount(qtCount + "");// 3100元以上.户数
				ciVo.setQtCountP((poorFCount == 0 || qtCount == 0) ? "0%"
						: BigDecimal.valueOf(qtCount)
								.divide(BigDecimal.valueOf(poorFCount), 4, BigDecimal.ROUND_HALF_UP)
								.multiply(BigDecimal.valueOf(100)).doubleValue() + "%");

				dataList.add(ciVo);
			}
		}
		return dataList;
	}

	/**
	 * 贫困户人均收入分组情况统计数据
	 * 
	 * @param list
	 * @return
	 */
	public static List<Object> ExportFuelTypeStatisData(List<Object[]> list) {
		dataList = new ArrayList<Object>();
		// 数据处理
		if (list != null && list.size() > 0) {
			for (Iterator<Object[]> iterator = list.iterator(); iterator.hasNext();) {
				Object[] obj = iterator.next();
				Integer poorFCount = Integer.valueOf(obj[1].toString());// 贫困户总数
				Integer ccCount = Integer.valueOf(obj[2].toString());// 柴草.户数
				Integer gxfCount = Integer.valueOf(obj[3].toString());// 干蓄粪.户数
				Integer mtCount = Integer.valueOf(obj[4].toString());// 煤炭.户数
				Integer qjnyCount = Integer.valueOf(obj[5].toString());// 清洁能源.户数
				Integer qtCount = Integer.valueOf(obj[6].toString());// 其他.户数

				// 贫困户主要燃料分类VO
				FuelTypeStatisVo ftVo = new FuelTypeStatisVo();
				ftVo.setAreaName(obj[0].toString());// 地区名字

				ftVo.setPoorFCount(poorFCount + "");// 贫困户总数

				ftVo.setCcCount(ccCount + "");// 柴草.户数
				ftVo.setCcCountP((poorFCount == 0 || ccCount == 0) ? "0%"
						: BigDecimal.valueOf(ccCount)
								.divide(BigDecimal.valueOf(poorFCount), 4, BigDecimal.ROUND_HALF_UP)
								.multiply(BigDecimal.valueOf(100)).doubleValue() + "%");

				ftVo.setGxfCount(gxfCount + "");// 干蓄粪.户数
				ftVo.setGxfCountP((poorFCount == 0 || gxfCount == 0) ? "0%"
						: BigDecimal.valueOf(gxfCount)
								.divide(BigDecimal.valueOf(poorFCount), 4, BigDecimal.ROUND_HALF_UP)
								.multiply(BigDecimal.valueOf(100)).doubleValue() + "%");

				ftVo.setMtCount(mtCount + "");// 煤炭.户数
				ftVo.setMtCountP((poorFCount == 0 || mtCount == 0) ? "0%"
						: BigDecimal.valueOf(mtCount)
								.divide(BigDecimal.valueOf(poorFCount), 4, BigDecimal.ROUND_HALF_UP)
								.multiply(BigDecimal.valueOf(100)).doubleValue() + "%");

				ftVo.setQjnyCount(qjnyCount + "");// 清洁能源.户数
				ftVo.setQjnyCountP((poorFCount == 0 || qjnyCount == 0) ? "0%"
						: BigDecimal.valueOf(qjnyCount)
								.divide(BigDecimal.valueOf(poorFCount), 4, BigDecimal.ROUND_HALF_UP)
								.multiply(BigDecimal.valueOf(100)).doubleValue() + "%");

				ftVo.setQtCount(qtCount + "");// 其他.户数
				ftVo.setQtCountP((poorFCount == 0 || qtCount == 0) ? "0%"
						: BigDecimal.valueOf(qtCount)
								.divide(BigDecimal.valueOf(poorFCount), 4, BigDecimal.ROUND_HALF_UP)
								.multiply(BigDecimal.valueOf(100)).doubleValue() + "%");

				dataList.add(ftVo);
			}
		}
		return dataList;
	}

	/**
	 * 贫困户入户路情况分类统计表数据
	 * 
	 * @param list
	 * @return
	 */
	public static List<Object> ExportEntranceRoadStatisData(List<Object[]> list) {
		dataList = new ArrayList<Object>();
		// 数据处理
		if (list != null && list.size() > 0) {
			for (Iterator<Object[]> iterator = list.iterator(); iterator.hasNext();) {
				Object[] obj = iterator.next();
				Integer poorFCount = Integer.valueOf(obj[1].toString());// 贫困户总数

				Double jlzgCount = Double.valueOf(obj[2].toString());// 距离主干路
				Integer ptntCount = Integer.valueOf(obj[3].toString());// 普通泥土路
				Integer ssglCount = Integer.valueOf(obj[4].toString());// 砂石公路
				Integer snlmCount = Integer.valueOf(obj[5].toString());// 水泥路面公路
				Integer lqglCount = Integer.valueOf(obj[6].toString());// 沥青路面公路

				// 贫困户入户路情况分类统计表Vo
				EntranceRoadStatisVo erVo = new EntranceRoadStatisVo();
				erVo.setAreaName(obj[0].toString());// 地区名字

				erVo.setPoorFCount(poorFCount + "");// 贫困户总数
				// jlzgCount
				erVo.setJlzgCount(jlzgCount == 0 ? "0" : jlzgCount + "");// 距离主干路
				erVo.setPtntCount(ptntCount + "");// 普通泥土路
				erVo.setSsglCount(ssglCount + "");// 砂石公路
				erVo.setSnlmCount(snlmCount + "");// 水泥路面公路
				erVo.setLqglCount(lqglCount + "");// 沥青路面公路

				dataList.add(erVo);
			}
		}
		return dataList;
	}

	/**
	 * 贫困户家庭收入情况统计表数据
	 * 
	 * @param list
	 * @return
	 */
	public static List<Object> ExportFamilyIncomeStatisData(List<Object[]> list) {
		dataList = new ArrayList<Object>();
		// 数据处理
		if (list != null && list.size() > 0) {
			for (Iterator<Object[]> iterator = list.iterator(); iterator.hasNext();) {
				Object[] obj = iterator.next();

				Integer poorFCount = Double.valueOf(obj[1].toString()).intValue();// 贫困户总数
				Integer popuCount = obj[2] != null ? Double.valueOf(obj[2].toString()).intValue() : 0;// 贫困人口总数

				Double nsrCount = Double.valueOf(obj[3].toString());// 年收入
				Double hjnsrCount = Double.valueOf(obj[3].toString());// 户均年收入=年收入/贫困户总数
				Double scjyCountS = Double.valueOf(obj[4].toString());// 户均生产经营性收入=生产经营性收入/贫困户总数
				Double hjwgCount = Double.valueOf(obj[5].toString());// 户均务工收入=务工收入/贫困户总数
				Double hjccCount = Double.valueOf(obj[6].toString());// 户均财产性收入=财产性收入/贫困户总数
				Double hjzyCount = Double.valueOf(obj[7].toString());// 户均转移性收入=转移性收入/贫困户总数
				Double scjyCountZ = Double.valueOf(obj[8].toString());// 户均生产经营性支出=产经营性支出/贫困户总数
				Double hjcCount = Double.valueOf(obj[9].toString());// 户均纯收入=户均纯收入/贫困户总数
				Double rjcCount = Double.valueOf(obj[10].toString());// 人均纯收入=人均纯收入/贫困户总数
				// 贫困户家庭收入情况统计表Vo
				FamilyIncomeStatisVo fiVo = new FamilyIncomeStatisVo();
				fiVo.setAreaName(obj[0].toString());// 地区名字

				fiVo.setPoorFCount(poorFCount + "");// 贫困户总数
				fiVo.setPopuCount(popuCount + "");// 贫困人口
				fiVo.setNsrCount(nsrCount == 0 ? "0" : nsrCount + "");// 年收入
				// 年收入
				fiVo.setNsrCount(nsrCount == null || nsrCount == 0 ? "0" : nsrCount.toString());
				// 户均年收入
				fiVo.setHjnsrCount((poorFCount == 0 || hjnsrCount == 0) ? "0"
						: BigDecimal.valueOf(hjnsrCount)
								.divide(BigDecimal.valueOf(poorFCount), 2, BigDecimal.ROUND_HALF_UP)
								.doubleValue() + "");
				// 户均生产经营性收入
				fiVo.setScjyCountS((poorFCount == 0 || scjyCountS == 0) ? "0"
						: BigDecimal.valueOf(scjyCountS)
								.divide(BigDecimal.valueOf(poorFCount), 2, BigDecimal.ROUND_HALF_UP)
								.doubleValue() + "");
				// 户均务工收入
				fiVo.setHjwgCount((poorFCount == 0 || hjwgCount == 0) ? "0"
						: BigDecimal.valueOf(hjwgCount)
								.divide(BigDecimal.valueOf(poorFCount), 2, BigDecimal.ROUND_HALF_UP)
								.doubleValue() + "");

				// 户均财产性收入
				fiVo.setHjccCount((poorFCount == 0 || hjccCount == 0) ? "0"
						: BigDecimal.valueOf(hjccCount)
								.divide(BigDecimal.valueOf(poorFCount), 2, BigDecimal.ROUND_HALF_UP)
								.doubleValue() + "");
				// 户均转移性收入
				fiVo.setHjzyCount((poorFCount == 0 || hjzyCount == 0) ? "0"
						: BigDecimal.valueOf(hjzyCount)
								.divide(BigDecimal.valueOf(poorFCount), 2, BigDecimal.ROUND_HALF_UP)
								.doubleValue() + "");

				// 户均生产经营性支出
				fiVo.setScjyCountZ((poorFCount == 0 || scjyCountZ == 0) ? "0"
						: BigDecimal.valueOf(scjyCountZ)
								.divide(BigDecimal.valueOf(poorFCount), 2, BigDecimal.ROUND_HALF_UP)
								.doubleValue() + "");
				// 户均纯收入
				fiVo.setHjcCount((poorFCount == 0 || hjcCount == 0) ? "0"
						: BigDecimal.valueOf(hjcCount)
								.divide(BigDecimal.valueOf(poorFCount), 2, BigDecimal.ROUND_HALF_UP)
								.doubleValue() + "");
				// 人均纯收入
				fiVo.setRjcCount((popuCount == 0 || rjcCount == 0) ? "0"
						: BigDecimal.valueOf(rjcCount)
								.divide(BigDecimal.valueOf(poorFCount), 2, BigDecimal.ROUND_HALF_UP)
								.doubleValue() + "");

				dataList.add(fiVo);
			}
		}
		return dataList;
	}

	/**
	 * 贫困户转移性收入构成情况统计数据
	 * 
	 * @param list
	 * @return
	 */
	public static List<Object> TransferableIncStatisData(List<Object[]> list) {
		dataList = new ArrayList<Object>();
		// 数据处理
		if (list != null && list.size() > 0) {
			for (Iterator<Object[]> iterator = list.iterator(); iterator.hasNext();) {
				Object[] obj = iterator.next();
				Double poorFCount = Double.valueOf(obj[1].toString());// 贫困户总数
				Double zyxCount = Double.valueOf(obj[2].toString());// 户均转移性收入=转移性收入/贫困户总数
				Double jhsybtCount = Double.valueOf(obj[3].toString());// 户均领取计划生育补贴金额.金额=计划生育补贴金额/贫困户总数
				Double dbjCount = Double.valueOf(obj[4].toString());// 户均领取低保金金额=低保金金额/贫困户总数
				Double yljCount = Double.valueOf(obj[5].toString());// 户均领取养老金.金额=取养老金/贫困户总数
				Double stbcjCount = Double.valueOf(obj[6].toString());// 户均领取生态补偿金.金额=生态补偿金/贫困户总数

				// 贫困户转移性收入构成情况统计表VO
				// 占比计算 //占比=户均（*）/户均转移性收入
				TransferableIncStatisVo tfiVo = new TransferableIncStatisVo();
				tfiVo.setAreaName(obj[0].toString());// 地区名字
				tfiVo.setPoorFCount(poorFCount.intValue() + "");// 贫困户总数
				// 户均转移性收入
				tfiVo.setZyxCount((poorFCount == 0 || zyxCount == 0) ? "0"
						: BigDecimal.valueOf(zyxCount)
								.divide(BigDecimal.valueOf(poorFCount), 2, BigDecimal.ROUND_HALF_UP)
								.doubleValue() + "");

				// 计算出来的户均转移性收入
				Double zyxCountZ = Double.valueOf(tfiVo.getZyxCount());
				// 户均领取计划生育补贴金额.金额
				tfiVo.setJhsybtCount((poorFCount == 0 || jhsybtCount == 0) ? "0"
						: BigDecimal.valueOf(jhsybtCount)
								.divide(BigDecimal.valueOf(poorFCount), 2, BigDecimal.ROUND_HALF_UP)
								.doubleValue() + "");

				tfiVo.setJhsybtCountP((Double.valueOf(tfiVo.getJhsybtCount()) == 0 || zyxCountZ == 0) ? "0%"
						: BigDecimal.valueOf(Double.valueOf(tfiVo.getJhsybtCount()))
								.divide(BigDecimal.valueOf(zyxCountZ), 4, BigDecimal.ROUND_HALF_UP)
								.multiply(BigDecimal.valueOf(100)).doubleValue() + "%");

				// 户均领取低保金金额
				tfiVo.setDbjCount((poorFCount == 0 || dbjCount == 0) ? "0"
						: BigDecimal.valueOf(dbjCount)
								.divide(BigDecimal.valueOf(poorFCount), 2, BigDecimal.ROUND_HALF_UP)
								.doubleValue() + "");

				tfiVo.setDbjCountP((Double.valueOf(tfiVo.getDbjCount()) == 0 || zyxCountZ == 0) ? "0%"
						: BigDecimal.valueOf(Double.valueOf(tfiVo.getDbjCount()))
								.divide(BigDecimal.valueOf(zyxCountZ), 4, BigDecimal.ROUND_HALF_UP)
								.multiply(BigDecimal.valueOf(100)).doubleValue() + "%");

				// 户均领取养老金.金额
				tfiVo.setYljCount((poorFCount == 0 || yljCount == 0) ? "0"
						: BigDecimal.valueOf(yljCount)
								.divide(BigDecimal.valueOf(poorFCount), 2, BigDecimal.ROUND_HALF_UP)
								.doubleValue() + "");

				tfiVo.setYljCountP((Double.valueOf(tfiVo.getYljCount()) == 0 || zyxCountZ == 0) ? "0%"
						: BigDecimal.valueOf(Double.valueOf(tfiVo.getYljCount()))
								.divide(BigDecimal.valueOf(zyxCountZ), 4, BigDecimal.ROUND_HALF_UP)
								.multiply(BigDecimal.valueOf(100)).doubleValue() + "%");

				// 户均领取生态补偿金.金额
				tfiVo.setStbcjCount((poorFCount == 0 || stbcjCount == 0) ? "0"
						: BigDecimal.valueOf(stbcjCount)
								.divide(BigDecimal.valueOf(poorFCount), 2, BigDecimal.ROUND_HALF_UP)
								.doubleValue() + "");

				tfiVo.setStbcjCountP((Double.valueOf(tfiVo.getStbcjCount()) == 0 || zyxCountZ == 0) ? "0%"
						: BigDecimal.valueOf(Double.valueOf(tfiVo.getStbcjCount()))
								.divide(BigDecimal.valueOf(zyxCountZ), 4, BigDecimal.ROUND_HALF_UP)
								.multiply(BigDecimal.valueOf(100)).doubleValue() + "%");

				dataList.add(tfiVo);
			}
		}
		return dataList;
	}

}
